草庐IT

分组前的 MySQL LIMIT?

全部标签

mongodb - 按日期对 MongoDB 数据进行分组

MongoDB3.4集合将包含时间戳的传感器信息存储为ISODate字段。无论是在白天还是晚上,传感器信息都需要进行不同的处理,其中晚上表示>=20.00(晚上8点)和$hour检查测量值是白天还是晚上。根据要求,夜间的所有测量都属于夜晚开始的日期,即21.00的测量日期适合,而需要从03.00的测量中减去一天。我想对所有night测量进行汇总($match步骤过滤掉全天测量,这不是问题)并按日期分组夜晚。你知道我该怎么做吗?我考虑过使用$project步骤并获取时间信息,但不确定如何生成可用于组操作的有效_id。 最佳答案 过滤部

mongodb - 如何在分组时使用 $cond 检查同一数组中的空值进行聚合操作

这是我的文档,{"_id":"58aecaa3758fbff4176db088","actualEndDate":"2017-02-27T00:00:00.000Z","Details":[{"projectId":"58a585f6758fbff4176dadb9",}]},{"_id":"58aecac8758fbff4176db08b","actualEndDate":"2017-03-12T00:00:00.000Z","Details":[{"projectId":"58a585f6758fbff4176dadb9",}]},{"_id":"58aecac8758fbff41

mongodb - 如何在 MongoDb 中进行不区分大小写的聚合分组?

假设我想通过Description字段对MongoDb中的文档进行聚合和分组。运行以下命令(默认区分大小写):db['Products'].aggregate({$group:{_id:{'Description':"$Description"},count:{$sum:1},docs:{$push:"$_id"}}},{$match:{count:{$gt:1}}});在我的示例数据上,我得到了1000个结果,这很好。但现在我希望运行不区分大小写查询(使用$toLower)应该给我少于或等于1000个结果:db['Products'].aggregate({$group:{_id:{

mongodb - 分组文档时合并数组

数据库中的文件格式如下{product:'product1',state:'state1',nondnd:[1,2,3],dnd:[4,5],land:[],emails:['a','b','c']},{product:'product1',state:'state1',nondnd:[9,8,2],dnd:[10,7,11],land:[2,4,6,8],emails:['d']},{product:'product1',state:'state2',nondnd:[9,8,2],dnd:[10,7,11],land:[1,3],emails:['e','g']}我需要根据产品和状态

node.js - 在 Mongoose 中按月分组

这个问题在这里已经有了答案:MongoDbHowtogroupbymonthandyearfromstring(1个回答)关闭4年前。我有费用明细,我想在其中按月对费用进行分组,并返回月份和该特定月份的费用。我什至检查了Mongoose文档,以根据月份进行汇总,但我的数据不符合他们的标准,因为我正在保存日期,如12-Jan-2018.有什么方法可以让我获得当月的月份和总金额。我想要类似-Jan:50,Feb:45等等...下面是样本集{"_id":{"$oid":"5babee47a7d56e5fb896f181"},"date":"07-Sep-2018","expenseInfo"

mongodb - 使用 MongoDB 按函数嵌套分组

我是MongoDB的新手,长期使用MySQL,但遇到了一个小障碍。给定以下示例数据:TeamID日订单金额1004/1501004/1402004/2501004/220我试图找出团队每天的平均订单量。我可以使用mapReduce函数进行简单查询,以使用TeamId和Day进行分组。所以现在我有:TeamID天AvgAmount1004/1452004/2501004/220现在我正在尝试汇总这些数据以获得每个团队每天的平均订单量,即:天平均金额4/147.54/235我可以使用MySQL轻松完成此操作,但我无法弄清楚如何使用MongoDB执行此操作,而不是在应用程序端手动执行,而不是

mongodb - 是否可以使用 MongoDB 的聚合框架对多个列进行分组和求和?

给定这个MongoDB集合:[{character:'broquaint',race:'Halfling',class:'Hunter'},{character:'broquaint',race:'Halfling',class:'Hunter'},{character:'broquaint',race:'Halfling',class:'Rogue'},{character:'broquaint',race:'Naga',class:'Fighter'},{character:'broquaint',race:'Naga',class:'Hunter'}]我想统计每个种族和类(cla

node.js - 搜索创建日期大于 14 天前的用户,然后更新过期字段

这是我使用mongoose/node的要求-只有在过去14年内创建的用户才能登录系统。如果用户尝试登录并且他们在14天,他们不再有效并且需要向管理员申请延期。我想做的(无论这是否正确)是在获取所有用户时,搜索14天或更早前创建的用户,并将过期字段设置为true(我可以在验证时检查这个。我还希望它在UI中显示一个单独的表,该表仅显示过期用户)。我最初认为在createdDate字段中设置“expires”会起作用,但这会删除我不想要的记录。这是我的UserSchema和我当前的getAllUsers函数。我还没有任何东西可以尝试解决这个问题。varUserSchema=newSchema

mongodb - 是否可以使用管道在 Mongo 中有效地排序、分组和限制?

给定具有年龄索引的用户:{name:'Bob',age:21}{name:'Cathy,age:21}{name:'Joe',age:33}获取输出:[{_id:21,names:['Bob,'Cathy']},{_id:33,names:['Joe']}]是否可以按年龄排序、分组和限制?db.users.aggregate([{$sort:{age:1}},{$group:{_id:$age,names:{$push:'$name'}},{$limit:10}]我做了一些研究,但不清楚是否可以先排序再分组。在我的测试中,该组失去了排序,但我不明白为什么。如果组保留排序,那么排序和限制

mongodb - 在 mongoDb 中查询和分组?

第1部分:我有(学生)收藏:{sname:"",studentId:"123"age:"",gpa:"",}我只想从中获取两个key:{sname:"",studentId:"123"}所以我需要消除age和gpa以便只有name和studentId,我该怎么做?第二部分:然后我有“主题”集合:{subjectName:"Math"studentId:"123"teacherName:""}我需要将前面的键(在第1部分中)与正确的studentId匹配/组合,所以我最终会得到这样的结果:{sname:"",studentId:"123",subjectName:"Math"}我该怎么做